package com.xunyin.modules.couponnew.service.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 卡券DTO
 * <p>
 * Created by xunyinyunshang <3594419785@qq.com>
 * CopyRight 讯音云商 https://www.tonetn.com
 */
@Data
public class CouponDto implements Serializable {

    /**
     * 自增ID
     */
    private Integer id;

    /**
     * 名称（券名称）
     */
    private String name;

    /**
     * 卡券类型
     */
    private String type;

    /**
     * 状态
     */
    private String status;

    /**
     * 获取规则
     */
    private String inRule;

    /**
     * 使用规则
     */
    private String outRule;

    /**
     * 图片
     */
    private String image;

    /**
     * 面额
     */
    private BigDecimal amount;

    /**
     * 领取需要积分数量
     */
    private Integer point;

    /**
     * 卖点
     */
    private String sellingPoint;

    /**
     * 已领取、预存张数
     */
    private Integer gotNum;

    /**
     * 剩余张数
     */
    private Integer leftNum;

    /**
     * 限制数量
     */
    private Integer limitNum;

    /**
     * 是否领取
     */
    private boolean isReceive;

    /**
     * 是否需要领取码
     */
    private boolean needReceiveCode;

    /**
     * 会员卡券ID
     */
    private Integer userCouponId;

    /**
     * 有效期
     */
    private String effectiveDate;

    /**
     * 卡券说明
     */
    private String description;


    /**
     * 有效期-天数 0 表示不限制，大于0表示具体限制天数
     */
    private Integer limitDay;

    /**
     * 可用的星期,逗号隔开
     */
    private String availWeekdays;

    /**
     * 适用时间段,逗号隔开
     */
    private String availTimescale;

    /**
     * 适用门店
     */
    private String storeIds;

    /**
     * 适用房间（包厢），当适用一个门店可选择，如果选择所属多门店，默认为空，不能选择适应房间
     */
    private String roomIds;

    /**
     * 卡券类型-小时卡特有属性,设置小时数
     */
    private Integer hourCount;

    /**
     * 卡券类型-次数卡(次卡)特有属性,每次可使用小时数
     */
    private Integer everyUseableHourCount;

    /**
     * 卡券类型-次数卡(次卡)特有属性,可使用次数
     */
    private Integer useableCount;

    @ApiModelProperty("后台备注")
    private String remarks;

    @ApiModelProperty("可用的星期-文本显示,逗号隔开")
    private String availWeekdaysText;


    @ApiModelProperty("适用时间段-文本显示,逗号隔开")
    private String availTimescaleText;

    @ApiModelProperty("发行数量")
    private Integer total;

    @ApiModelProperty("开始有效期")
    private Date beginTime;

    @ApiModelProperty("结束有效期")
    private Date endTime;

    @ApiModelProperty("是否新注册赠送")
    private String isNewGive;

}
